#include <QApplication>
#include <QDir>
#include <QStandardPaths>
#include <QMessageBox>
#include <QStyleFactory>
#include <QFont>
#include <QSystemTrayIcon>
#include <QIcon>
#include <QLoggingCategory>
#include "include/mainwindow.h"
#include "include/config.h"

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    // 设置应用程序信息
    app.setApplicationName(Config::getAppName());
    app.setApplicationVersion(Config::getAppVersion());
    app.setOrganizationName("GameClient");
    app.setOrganizationDomain("gameclient.com");

    // === 禁用SSL相关警告（因为我们使用ws://而不是wss://） ===
    QLoggingCategory::setFilterRules("qt.network.ssl.debug=false");
    QLoggingCategory::setFilterRules("qt.network.ssl.warning=false");

    // 设置应用程序图标 (暂时使用系统默认图标)
    // app.setWindowIcon(QIcon(":/icons/app.png"));

    // 设置字体
    QFont font = app.font();
    font.setFamily("Microsoft YaHei");
    font.setPointSize(9);
    app.setFont(font);

    // 检查系统托盘支持
    if (!QSystemTrayIcon::isSystemTrayAvailable()) {
        QMessageBox::critical(nullptr, "系统托盘",
                             "检测不到系统托盘，某些功能可能无法正常使用。");
    }

    // 设置应用程序样式
    app.setStyle(QStyleFactory::create("Fusion"));

    // 创建主窗口
    MainWindow window;
    window.show();

    return app.exec();
}